package com.yjy.exception;

import com.yjy.common.Result;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 全局的异常捕获器
 * 系统异常怎么办?
 * 你得看你的控制台,然后找到报错的代码位置,然后去修正代码才可以
 */
@ControllerAdvice("com.yjy.controller")
public class GlobalExceptionHandler {
    private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);

    @ExceptionHandler(Exception.class)
    @ResponseBody //将result==>返回json串
    public Result error(Exception e){
        log.error("系统异常",e);
        return Result.error("系统异常...");//程序出问题就会报这个问题
    }


    @ExceptionHandler(CustomerException.class)
    @ResponseBody //将result==>返回json串
    public Result customerError(CustomerException e){
        log.error("自定义错误",e);
        return Result.error(e.getCode(),e.getMsg());//程序出问题就会报这个问题
    }


}
